/* Harmonisation des rouges */
:root {
  --primary: #b91c1c;
  --secondary: #b91c1c;
}

.bg-primary, .bg-secondary, .bg-red-700, .bg-[#b80808], .bg-[#a80808], .bg-[#842121], .bg-[#dc2626], .bg-amber-400, .bg-gradient-to-r, .bg-gradient-to-b, .bg-gradient-to-br, .bg-gradient-to-t, .bg-gradient-to-tr, .bg-gradient-to-tl, .bg-gradient-to-bl {
  background: #b91c1c !important;
  background-color: #b91c1c !important;
}
.text-primary, .text-secondary, .text-red-700, .text-[#b80808], .text-[#a80808], .text-[#842121], .text-[#dc2626] {
  color: #b91c1c !important;
}
.border-primary, .border-secondary, .border-red-700, .border-[#b80808], .border-[#a80808], .border-[#842121], .border-[#dc2626] {
  border-color: #b91c1c !important;
}

/* Pour les inline style ou autres cas */
[style*="background:#b80808"], [style*="background:#a80808"], [style*="background:#842121"], [style*="background:#dc2626"] {
  background: #b91c1c !important;
}
[style*="color:#b80808"], [style*="color:#a80808"], [style*="color:#842121"], [style*="color:#dc2626"] {
  color: #b91c1c !important;
}
[style*="border-color:#b80808"], [style*="border-color:#a80808"], [style*="border-color:#842121"], [style*="border-color:#dc2626"] {
  border-color: #b91c1c !important;
}

:where([class^="ri-"])::before { content: "\f3c2"; }
body {
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
}

.counter {
    transition: all 0.5s ease;
}

.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
input, textarea {
    border: 1px solid #e2e8f0;
    outline: none;
}
input:focus, textarea:focus {
    border-color: #8B0000;
    box-shadow: 0 0 0 2px rgba(139, 0, 0, 0.1);
}
/* Ajoutez ces règles à votre fichier existant */
.service-section {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
    scroll-margin-top: 120px;
}

.service-section.animate-fadeIn {
    opacity: 1;
    transform: translateY(0);
}

.sticky-nav {
    position: sticky;
    top: 96px;
    z-index: 40;
}

.service-icon {
    transition: transform 0.3s ease;
}
.service-section:hover .service-icon {
    transform: scale(1.05);
}
/* Animation */
@keyframes fadeIn {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fadeIn {
    animation: fadeIn 0.6s ease forwards;
}

/* Améliorations pour les listes de services */
.service-features li {
    position: relative;
    padding-left: 1.75rem;
    margin-bottom: 0.75rem;
}

.service-features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    width: 1rem;
    height: 1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238B0000'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Style pour les encadrés d'impact */
.impact-box {
    background: linear-gradient(to right, rgba(139, 0, 0, 0.03) 0%, rgba(139, 0, 0, 0.08) 100%);
    border-left: 4px solid #8B0000;
}

/* Validation Styles */
.is-invalid {
  border-color: #dc3545 !important;
}

.was-validated input:invalid,
.was-validated textarea:invalid {
  border-color: #dc3545;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated input:valid,
.was-validated textarea:valid {
  border-color: #28a745 !important;
}

